package com.gitee.hljdrl.logger;

public interface LogEvent {

    /**
     * logger write file dir
     */
    String OPTION_DIR = "_option_dir";
    /**
     * logger logout switch
     */
    String OPTION_SWITCH = "_option_switch";

    void close();

    void open();

    default void open(String fileName) {
        open();
    }

    void setOption(String key, Object option);

    String getLoggerFile();

    void i(String tag, String msg);

    void i(String tag, String... msg);

    void i(String tag, Object... msg);

    void d(String tag, String msg);

    void d(String tag, String... msg);

    void d(String tag, Object... msg);

    void e(String tag, String msg);

    void e(String tag, Object... msg);

    void e(String tag, Throwable throwable);

    void e(String tag, String msg, Throwable throwable);

    default void w(String tag, String msg) {
        android.util.Log.w(tag, msg);
    }

    default void w(String tag, String... msg) {
        android.util.Log.w(tag, LogOut.toString(msg));
    }

    default void w(String tag, Object... msg) {
        android.util.Log.w(tag, LogOut.toString(msg));
    }
}
